const jwt = require('jsonwebtoken')
const output = require('./output')

async function token(ctx){
  const authorization = ctx.request.header.authorization;
  if (authorization) {
    try {
      // iat: 1581434960  token签发时间   exp: 1581438560   token过期时间
      let a = jwt.verify(authorization, 'test');
      if (a.exp > new Date() / 1000) {
        // output(ctx, '0', '成功')
        return 0
      }
      // 只有在通过之后才会执行下一个中间件
      // await next();
    } catch (error) {
      if (error.message === 'jwt expired') {
        // output(ctx, '10001', 'token过期,请重新登录')
        return 10001
      }
    }
  } else {
    output(ctx, '10001', 'not allow')
  }
}

module.exports = token
